const xlsx = require("node-xlsx");
const fs = require("fs");
const {trim} = require('./utils')

// 读取xlsx
const sheets = xlsx.parse("./input/" + "user.xlsx");
// 获取xlsx第一个标签栏的数据，要转换其他标签栏的数据就改变sheet[0]中的值
const sheetData = sheets[0].data;
// 语言包名称对应关系
let nameMap = {
    '中文': 'zh-cn',
    '英语': 'en-us',
    '印尼语': 'in-id',
    '土耳其': 'tr-tr',
    '西班牙语': 'es-es',
    '法语': 'fr-fr',
    '德语': 'de-de',
    '繁体中文': 'zh-tw',
    '波兰语': 'pl-pl',
    '葡萄牙': 'pt-pt'
};
// 语言包key值对应的列
const keyColumIndex = 1
// 定义数据列表
let langFileList = [];
// console.log(sheetData, 'sheetData')
// 循环拼装数据
sheetData.forEach((colum, index) => {
    if (index == 0) { // 第一行标题
        colum.forEach(item => {
            // let key = item.split(' ')[0]
            let key = nameMap[item]
            langFileList.push({
                fileName: key,
                data: {}
            })
        })
        return;
    } else if (index === 1) { // 第二行是备注 跳过
        return
    } else { // 后面的数据
        colum.forEach((item, index) => {
            const key = colum[keyColumIndex]
            // langFileList[index].data[key] = item
            langFileList[index].data[trim(key)] = trim(item)
        })
        // //可以自定义转换的数据格式
        // let zh_CN = colum[0]
        // let en_US = colum[1]
        // let zh_TW = colum[2]
        // let pl_PL = colum[3]
        // let fr_FR = colum[4]
        // let de_DE = colum[5]
        // let key = en_US
        // testList.push({
        //     key: en_US,
        //     value: {
        //       zh_CN,
        //       en_US,
        //       zh_TW,
        //       pl_PL,
        //       fr_FR,
        //       de_DE
        //     }
        // });
    }
});

langFileList.forEach(file => {
    const name = file.fileName
    const data = file.data
    // 不压缩的情况
    fs.writeFileSync(`./output/json/user/${name}.json`, JSON.stringify(data, null, "\t"));
    // 压缩的情况
    // fs.writeFileSync("./output/json/result.json", JSON.stringify(jsonObj));
})
console.log('> 文件转换完成!')
